Refresh Per Blocks
Never
To disable refreshing calls per block, just pass refresh
parameter as never
to config, it will fetch data only once.
Example
import { Mainnet } from '@usedapp/core'
const config = {
readOnlyChainId: Mainnet.chainId,
readOnlyUrls: {
[Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',
},
refresh: 'never',
}
Specified number of blocks
To enable refreshing calls per specified number of blocks, just pass refresh
parameter as specified number to config, it will refresh each 10 mined blocks.
Example
import { Mainnet } from '@usedapp/core'
const config = {
readOnlyChainId: Mainnet.chainId,
readOnlyUrls: {
[Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',
},
refresh: 10,
}
Every block
If you want to have your calls refreshed per single, mined block just pass refresh
parameter as everyBlock
to config or just do not fill it.
Example
import { Mainnet } from '@usedapp/core'
const config = {
readOnlyChainId: Mainnet.chainId,
readOnlyUrls: {
[Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',
},
refresh: 'everyBlock',
}
Calls
There is also possible to override call refreshing behaviour by adding refresh
parameter to queryParams
, example below:
Example
const firstBalance = useEtherBalance(account1, { refresh: 'never' }) // fetches only once
const secondBalance = useEtherBalance(account2, { refresh: 10 }) // fetches every 10 blocks
const thirdBalance = useEtherBalance(account3, { refresh: 'everyBlock' }) // fetches every single block